import axios from "axios";
import  NProgress  from "nprogress";
import "nprogress/nprogress.css"
const request = axios.create({
baseURL:"/mock", // 1.复用请求地址前缀
timeout: 10000, // 请求超时时间
}); 

// 请求拦截器
request.interceptors.request.use(
// 成功
(config) =>{
    NProgress.start();
    // (设置) 复用公共请求参数
    // config就是请求的配置对象
    return config;
}
)

// 响应拦截器
request.interceptors.response.use(
    // 响应状态码 2xx成功 非2xx失败
    // 请求成功-成功
    (response) => {
        // 结束进度条
        NProgress.done();
        // response 就是服务器的响应结果
        if(response.data.code === 200) {
            return response.data.data;
        }else{
            // 功能失败
            alert(response.data.message)
            return Promise.reject(response.data.message)
        }
    },
    // 请求失败 - 失败
    (error) => {
        // 结束金属掉
        NProgress.done()
        alert(error)
        return Promise.reject(error)
    }
    )

export default request